package edu.pku.sei.transformation.mtparser;

public interface ResultArgumentVisitor
{
    Object visit(AstToken n, Object o);
    Object visit(RuleSemantics n, Object o);
    Object visit(BasicRuleSemantics n, Object o);
    Object visit(CheckMode n, Object o);
    Object visit(EnforceMode n, Object o);
    Object visit(ExtendMode n, Object o);
    Object visit(CommaExpr n, Object o);
    Object visit(SingleExpr n, Object o);
    Object visit(AndExpr n, Object o);
    Object visit(OrExpr n, Object o);
    Object visit(NotExpr n, Object o);
    Object visit(ExistoneExpr n, Object o);
    Object visit(ForallExpr n, Object o);
    Object visit(EqualExpr n, Object o);
    Object visit(EvalExpr n, Object o);
    Object visit(ExclusiveExpr n, Object o);
    Object visit(UnionExpr n, Object o);
    Object visit(AssignExpr n, Object o);
    Object visit(NewExpr n, Object o);
    Object visit(DeleteExpr n, Object o);
    Object visit(ParenAtomicExpr n, Object o);
    Object visit(UserDefinedVarExpr n, Object o);
    Object visit(Name n, Object o);
    Object visit(StringConst n, Object o);
    Object visit(IntConst n, Object o);
    Object visit(RealConst n, Object o);
    Object visit(NullConst n, Object o);
    Object visit(InvalidConst n, Object o);
    Object visit(FullMatchExpr n, Object o);
    Object visit(PartialMatchExpr n, Object o);
    Object visit(AttributeExpr n, Object o);
    Object visit(OperationExpr n, Object o);
    Object visit(Params n, Object o);
    Object visit(IfExpr0 n, Object o);
    Object visit(IfExpr1 n, Object o);
    Object visit(PredefinedVarExpr0 n, Object o);
    Object visit(PredefinedVarExpr1 n, Object o);
    Object visit(PredefinedVarExpr2 n, Object o);
    Object visit(PredefinedVarExpr3 n, Object o);
    Object visit(BooleanConst0 n, Object o);
    Object visit(BooleanConst1 n, Object o);

    Object visit(Ast n, Object o);
}

